home *** CD-ROM | disk | FTP | other *** search
/ Shareware Games Galore! / Shareware Games Galore!.iso / arcade / gameser5 / surround.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1981-05-28  |  4.8 KB  |  129 lines

  1. 1  DIM C(23,80): S1=0: S2=0: WIDTH 80
  2. 2  KEY OFF:CLS
  3. 3  LOCATE 1,29: PRINT "Welcome to the Game of"
  4. 4  LOCATE 2,36: COLOR 0,7: PRINT "SURROUND": COLOR 7,0
  5. 5  LOCATE 3,25: PRINT "by Grant M. Bright, Tucson, Az"
  6. 6  LOCATE 5,1:  PRINT "The object of this game is to maneuver a `";CHR$(2);"' around a maze without running into": PRINT "a wall or the trail left by either yourself or your opponent."
  7. 7  PRINT: PRINT "Two options are available:": PRINT: PRINT "     1. ONE PLAYER: The object here is to obtain the highest possible score"
  8. 8  PRINT: PRINT "     2. TWO PLAYER: The object here is to outscore your opponent by surviving": PRINT "                    the longest"
  9. 9  PRINT: PRINT "There are 3 levels of difficulty:": PRINT: PRINT "     1. BEGINNER": PRINT "     2. INTERMEDIATE": PRINT "     3. EXPERT": PRINT
  10. 10  INPUT "How many players (1 or 2)";PP
  11. 12  IF PP>2 OR PP<1 THEN 10
  12. 14  INPUT "Difficulty level (1, 2 or 3)";LL
  13. 16  IF LL>3 OR LL<1 THEN 14
  14. 20  CLS
  15. 25  FOR K=1 TO 80:LOCATE 1,K:PRINT CHR$(219);:C(1,K)=1:LOCATE 23,K:PRINT CHR$(219);:C(23,K)=1:NEXT
  16. 30  FOR L=2 TO 22:LOCATE L,1:PRINT CHR$(219):LOCATE L,80:PRINT CHR$(219):C(L,1)=1:C(L,80)=1:NEXT L
  17. 37  IF S1=0 AND S2=0 THEN 40
  18. 38  COLOR 8,7:LOCATE 23,7:PRINT"SCORE:  PLAYER 1 = ";S1;";  PLAYER 2 = ";S2;";  FIRST TO 10 WINS THE GAME!!":COLOR 7,0
  19. 40  FOR K=5 TO 38: LOCATE 10,K: PRINT CHR$(219);:C(10,K)=1:LOCATE 14,K: PRINT CHR$(219);:C(14,K)=1:NEXT
  20. 44  FOR K=43 TO 76: LOCATE 10,K: PRINT CHR$(219);:C(10,K)=1:LOCATE 14,K: PRINT CHR$(219);:C(14,K)=1:NEXT
  21. 48  L1=0
  22. 49  FOR L2=1 TO 2
  23. 50  FOR L3=5 TO 8
  24. 51  L=L1+L3
  25. 52  LOCATE L,8:PRINT CHR$(219);:C(L,8)=1
  26. 53  LOCATE L,17:PRINT CHR$(219);:C(L,17)=1
  27. 54  LOCATE L,26:PRINT CHR$(219);:C(L,26)=1
  28. 55  LOCATE L,35:PRINT CHR$(219);:C(L,35)=1
  29. 56  LOCATE L,46:PRINT CHR$(219);:C(L,46)=1
  30. 57  LOCATE L,55:PRINT CHR$(219);:C(L,55)=1
  31. 58  LOCATE L,64:PRINT CHR$(219);:C(L,64)=1
  32. 59  LOCATE L,73:PRINT CHR$(219);:C(L,73)=1
  33. 60  NEXT L3
  34. 61  L1=11
  35. 62  NEXT L2
  36. 63  L=6
  37. 64  FOR L1=1 TO 4
  38. 65  K=5
  39. 66  FOR L2=1 TO 14
  40. 68  LOCATE L,K:PRINT CHR$(219);:C(L,K)=1
  41. 69  LOCATE L,K+38:PRINT CHR$(219);:C(L,K+38)=1
  42. 70  K=K+1
  43. 71  IF ((K=6 OR K=15) OR (K=24 OR K=33)) THEN K=K+5
  44. 72  NEXT L2
  45. 73  IF L1 = 1 THEN L=7
  46. 74  IF L1 = 2 THEN L=17
  47. 75  IF L1 = 3 THEN L=18
  48. 76  NEXT L1
  49. 78  K=5
  50. 79  FOR K1=1 TO 22
  51. 80  LOCATE 3,K:PRINT CHR$(219);:C(3,K)=1
  52. 81  LOCATE 3,K+38:PRINT CHR$(219);:C(3,K+38)=1
  53. 82  LOCATE 21,K:PRINT CHR$(219);:C(21,K)=1
  54. 83  LOCATE 21,K+38:PRINT CHR$(219);:C(21,K+38)=1
  55. 84  K=K+1
  56. 85  IF (K=11 OR K=20) OR K=29 THEN K=K+4
  57. 86  NEXT K1
  58. 87  IF PP = 2 THEN 90
  59. 88  LOCATE 11,20: PRINT "USE ";CHR$(24);",";CHR$(25);",";CHR$(27);",";CHR$(26);" TO CHANGE DIRECTION RESPECTIVELY."                                               
  60. 89  GOTO 92
  61. 90  LOCATE 11,7:PRINT"PLAYER 1,2 USE A,Z,S,D AND ";CHR$(24);",";CHR$(25);",";CHR$(27);",";CHR$(26);" TO CHANGE DIRECTION RESPECTIVELY."
  62. 92  LOCATE 12,27:PRINT"PRESS SPACE BAR TO BEGIN"
  63. 94  V$=INKEY$:IF V$=" " THEN 96:ELSE 94
  64. 96  LOCATE 11,2:PRINT SPACE$(78)
  65. 97  IF PP=1 GOTO 99
  66. 98  LOCATE 12,2:PRINT SPACE$(78):LOCATE 12,30:PRINT CHR$(1):C(12,30)=1:LOCATE 12,51:PRINT CHR$(2):C(12,51)=1: GOTO 100
  67. 99  LOCATE 12,2:PRINT SPACE$(78):LOCATE 12,51:PRINT CHR$(2):C(12,51)=1
  68. 100  I1=12:J1=12:I2=30:J2=51:I3=3:J3=2:F=0
  69. 110  KEY(11) ON:KEY(12) ON:KEY(13) ON:KEY(14) ON
  70. 120  ON KEY(11) GOSUB 200
  71. 122  IF PP=1 GOTO 130
  72. 125  V$=INKEY$:IF V$="A" OR V$="a" THEN GOSUB 600
  73. 130  ON KEY(12) GOSUB 300
  74. 135  IF V$="S" OR V$="s" THEN GOSUB 700
  75. 140  ON KEY(13) GOSUB 400
  76. 145  IF V$="d" OR V$="D" THEN GOSUB 800
  77. 150  ON KEY(14) GOSUB 500
  78. 155  IF V$="Z" OR V$="z" THEN GOSUB 900
  79. 157  IF PP=1 GOTO 163
  80. 160  IF I3=1 THEN I1=I1-1:LOCATE I1,I2:PRINT CHR$(1):ELSE IF I3=2 THEN I2=I2-1:LOCATE I1,I2:PRINT CHR$(1):ELSE IF I3=3 THEN I2=I2+1:LOCATE I1,I2:PRINT CHR$(1):ELSE I1=I1+1:LOCATE I1,I2:PRINT CHR$(1)
  81. 162  IF C(I1,I2)=1 THEN 1000:ELSE C(I1,I2)=1
  82. 163  F=F+1: F1=5
  83. 164  ON LL GOTO 178,173,165
  84. 165  IF F>200 THEN F1=0.1:  GOTO 178
  85. 166  IF F>150 THEN F1=0.25: GOTO 178
  86. 167  IF F>100 THEN F1=0.5:  GOTO 178
  87. 168  IF F>80  THEN F1=1:   GOTO 178
  88. 169  IF F>60  THEN F1=2:   GOTO 178
  89. 170  IF F>40  THEN F1=3:   GOTO 178
  90. 171  IF F>20  THEN F1=4:   GOTO 178
  91. 172  GOTO 178
  92. 173  IF F>200 THEN F1=1: GOTO 178
  93. 174  IF F>125 THEN F1=2: GOTO 178
  94. 175  IF F>75  THEN F1=3: GOTO 178
  95. 176  IF F>25  THEN F1=4: GOTO 178
  96. 178  SOUND 50,F1
  97. 179  IF PP = 1 THEN GOTO 180
  98. 180  IF J3=1 THEN J1=J1-1:LOCATE J1,J2:PRINT CHR$(2):ELSE IF J3=2 THEN J2=J2-1:LOCATE J1,J2:PRINT CHR$(2):ELSE IF J3=3 THEN J2=J2+1:LOCATE J1,J2:PRINT CHR$(2):ELSE J1=J1+1:LOCATE J1,J2:PRINT CHR$(2)
  99. 190  IF C(J1,J2)=1 THEN 2000:ELSE C(J1,J2)=1
  100. 195  SOUND F*2+70,F1
  101. 197  GOTO 110
  102. 200  IF J3=4 THEN RETURN 1500:ELSE J3=1:RETURN
  103. 300  IF J3=3 THEN RETURN 1500:ELSE J3=2:RETURN
  104. 400  IF J3=2 THEN RETURN 1500:ELSE J3=3:RETURN
  105. 500  IF J3=1 THEN RETURN 1500:ELSE J3=4:RETURN
  106. 600  IF I3=4 THEN RETURN 1000:ELSE I3=1:RETURN
  107. 700  IF I3=3 THEN RETURN 1000:ELSE I3=2:RETURN
  108. 800  IF I3=2 THEN RETURN 1000:ELSE I3=3:RETURN
  109. 900  IF I3=1 THEN RETURN 1000:ELSE I3=4:RETURN
  110. 1000  LOCATE I1,I2:COLOR 21,0:PRINT CHR$(1):COLOR 7,0
  111. 1001  S2=S2+1
  112. 1002  IF S2<5  THEN 1600
  113. 1003  KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  114. 1004  COLOR 8,7:LOCATE 23,7:PRINT"            PLAYER 2 WON, PRESS C TO PLAY AGAIN; E TO EXIT            ":COLOR 7,0
  115. 1100  V$=INKEY$:IF V$="" THEN 1100:ELSE IF V$="C" OR V$="c" THEN CLEAR:GOTO 1
  116. 1120  IF V$="e" OR V$="E" THEN CHAIN "MENU",1000: ELSE 1100
  117. 1500  LOCATE J1,J2:COLOR 21,0:PRINT CHR$(2):COLOR 7,0
  118. 1501  S1=S1+1
  119. 1502  IF S1<5  THEN 1600
  120. 1503  KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  121. 1504  COLOR 8,7:LOCATE 23,7:PRINT"            PLAYER 1 WON, PRESS C TO PLAY AGAIN; E TO EXIT            ":COLOR 7,0:GOTO 1100
  122. 1600  KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  123. 1605  COLOR 8,7:LOCATE 23,3:PRINT"SCORE:  PLAYER 1 = ";S1;";  PLAYER 2 = ";S2;";  FIRST TO 5 WINS!!   # OF ";CHR$(2);" = ";F:COLOR 7,0
  124. 1620  FOR X=1 TO 23: FOR Y=1 TO 80: C(X,Y)=0: NEXT Y: NEXT X: GOTO 20
  125. 2000  IF PP=2 THEN 1500
  126. 2010  LOCATE J1,J2:COLOR 21,0:PRINT CHR$(2):COLOR 7,0
  127. 2020  KEY(11) OFF: KEY(12) OFF: KEY(13) OFF: KEY(14) OFF
  128. 2030  COLOR 8,7: LOCATE 23,3: PRINT"       YOUR SCORE WAS ";F;".  PRESS C TO PLAY AGAIN; E TO EXIT              ":COLOR 7,0: GOTO 1100
  129.